package com.xqboss.apps.mapper.market;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xqboss.apps.domain.market.MarketMain;
import com.xqboss.apps.dto.market.MarketDto;
import com.xqboss.apps.vo.market.MarketListVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 市场主表Mapper
 *
 * @author wangcong
 * @date 2023-11-27
 */
public interface MarketMainMapper extends BaseMapper<MarketMain> {
    /**
     * 获取市场一级列表
     */
    List<MarketListVo> getMarketList(MarketDto dto);

    /**
     * 获取市场一级列表
     */
    IPage<MarketListVo> getMarketListPlus(Page<MarketListVo> page,@Param("dto") MarketDto dto);

    /**
     * 市场在卖专卖中最低价
     * @param nftId
     * @param marketType
     * @param isNew
     * @return 价格
     */
    BigDecimal selectMarketByNftIdMin(@Param("nftId") Long nftId,@Param("marketType")  Integer marketType,@Param("isNew")  boolean isNew);
    /**
     * 市场已卖最高价
     * @param nftId
     * @param marketType
     * @param isNew
     * @return 价格
     */
    BigDecimal selectMarketByNftIdMax(@Param("nftId") Long nftId,@Param("marketType")  Integer marketType,@Param("isNew")  boolean isNew);

    /**
     * 市场在售数量
     * @param nftId
     * @param marketType
     * @param isNew
     * @return 数量
     */
    Integer selectMarketByNftIdSell(@Param("nftId") Long nftId,@Param("marketType")  Integer marketType,@Param("isNew")  boolean isNew);
}
